From 380a06d426b8b90d3e9f63934b3c8a0e08599085 Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Fri, 22 Sep 2006 17:21:52 +0100 Subject: [PATCH] [XEN][HVM] Initialise the ELCR so that all interrupts are in level triggered mode after pic_reset, since that seems to be what Linux expects. Signed-off-by: Steven Smith --- xen/arch/x86/hvm/i8259.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/hvm/i8259.c b/xen/arch/x86/hvm/i8259.c index f3c5aaffe8..4829f0dc0e 100644 --- a/xen/arch/x86/hvm/i8259.c +++ b/xen/arch/x86/hvm/i8259.c @@ -271,7 +271,10 @@ static void pic_reset(void *opaque) s->rotate_on_auto_eoi = 0; s->special_fully_nested_mode = 0; s->init4 = 0; - s->elcr = 0; + + /* Initialise to level triggered mode, since Linux assumes that in + a few places and it doesn't appear to break anything. */ + s->elcr = 0xff & s->elcr_mask; } /* Caller must hold vpic lock */ -- 2.30.2